ci: add integration tests on GHA#38
Merged
Merged
Conversation
- Add profiles/ci.toml — minimal profile with no providers, uses public community base image (no registry auth needed) - Add startup field to profile Config — controls whether startup.sh runs (default profile sets it, CI profile omits it) - Add --no-providers and --profile flags to test-flow.sh - sandbox_verify skips provider-dependent checks with --no-providers - Add .github/workflows/integration.yml — runs podman integration tests on every PR and push to main Tested locally: 11/11 CI profile, 20/20 default profile. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The harness doesn't manage the container runtime — openshell auto-detects the driver (podman/docker). Rename test targets, workflow jobs, and Makefile from 'podman' to 'local' since the runtime is an openshell concern. Keep 'podman' as a test-flow.sh alias for backward compat. Add container runtime section to design.md documenting OPENSHELL_DRIVERS env var and gateway --config for driver override. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The openshell gateway logs 'Using compute driver driver=podman' at startup but doesn't expose it via gRPC API (by design). Document the log location and how harness status can extract it. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move OCP deploy artifacts from deploy/ and values-ocp.yaml into gateways/ocp/ with addons subdirectory. Add gateway config stubs for local, ocp, and kind targets. Structure: gateways/local.toml — local podman/docker gateway gateways/ocp/gateway.toml — OpenShift deployment config gateways/ocp/values.yaml — Helm values (was values-ocp.yaml) gateways/ocp/addons/rbac.yaml — launcher RBAC (was deploy/rbac.yaml) gateways/ocp/addons/route.yaml — OCP Route (was deploy/route.yaml) gateways/kind/gateway.toml — kind cluster config (NodePort, no auth) Code references updated in cmd/deploy.go. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each remote gateway now has a consistent structure: gateway.toml — gateway config (type, platform, service) helm/values.yaml — Helm values for this gateway addons/ — post-install manifests (OCP only for now) kind gateway gets minimal values (NodePort, no auth). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Document the gateway config schema, deploy behavior by config field, sandbox-vs-gateway orthogonality, and custom gateway instructions. Add gateway log export step to local integration CI workflow — captures journalctl logs, openshell status, and gateway list as artifacts for debugging failures. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Document the 5 OCP-specific steps vs vanilla k8s (SCCs, Helm values, Route, appsDomain, PKI) - Document three network paths (laptop→gateway, launcher→gateway, gateway→sandbox) and that all use mTLS - Auth roadmap: mTLS-as-auth (now) → oauth-proxy + OCP OAuth (next) → OIDC (future) - Detail oauth-proxy approach: uses existing OCP OAuth server, no external IdP, standard OCP pattern Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Check all three cert files (ca.crt, tls.crt, tls.key) instead of just tls.crt. Print WARNING to stderr with specific missing files when falling back to insecure mode. Log success when mTLS is configured. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Matches existing SANDBOX_IMAGE pattern. Allows testing launcher changes locally without waiting for ghcr.io image push: LAUNCHER_IMAGE=quay.io/rcochran/openshell:launcher harness new --remote Verified: launcher mTLS cert validation working in OCP cluster logs: ✓ mTLS certs found — using encrypted connection Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integration tests on GHA
Gateway config system
Profile improvements
Security
✓ mTLS certs found — using encrypted connectionNaming
podmankept as backward-compat alias in test-flow.shDesign doc updates (docs/design.md)
Verified
🤖 Generated with Claude Code